Skip to main content

Full text of "San Leandro Computer Club(SLCC) - Atari - Newsletters 1986"

See other formats


2 


The Sin Leandro Cowputer Club Tor Atari 
Hicroco**iters is an wd^enaent, norr-pref it 
organization and users graf with no 
connection to Atari Incorpcrjted. PWHwrship 
Tees are (20 per year, fcebership includes 
access to the counter library, ascription 
to the Journal, and classes tdwr held. 
Peraissian to reprint articles in any 
ncn-coaaercial piiilicaticr ts permitted 
without written authorization provided 

proper credit is given to the San Leandro 
Computer Clut) and the author, tyiniois 

expressed are those oT the author and do not 
necessarily present the views oT SUX. 

EDITOR Jerry TelTer 233-9156 

ASSISTANT EDITOR hart Blue 483-6166 

ART DIRECTOR Jiw ftood 534-2197 

CALENDAR UFDMTlOi Tow Tisby 352-4482 

JOURNAL CtPVlIC Nark Blue 483-6166 

JOURNAL ADVERTISER Ron Seywour 537-3183 


IN THIS ISSUE: ao loafer cowed by the M8-happy ST owner*, 8-bit 
A tar laws art beginning to see a euwbtr of lapressiva aewory 
upgrade*. Thera are sowe tbiafs to watch out for, but a half-atf 
Wit is feasible. SLCC and tba SLCC JOURNAL bold ourielm 
blawtlest if you fry your computer doing any of the nifty upgrades 
ia this issue. 

Also, we have the debut of our ‘spy in the sky* col nan on the 
Dlethora of ST ruwors. There is a reader survey that we hope you 
will get to us so •« can eeet your needs in the JOURNAL. Our 
thanks to Chris Stewart for the source photo used in producing this 
•onth’s cover, Enjoy! 

CONTENTS 


3 EDITORIAL 

4 DANGERS OF MEMORY EXPANSION 

by Bill Wilkinson 


JOURNAL ADVEFTISD6 RATES 

FULL PAS: (40.00 QUARTER PAGE: 

(10.00 

HALF PAGE: (20.00 

BUSINESS CARD: 

( 5.00 

PRESIDENT 

B db Barton 

352-6118 

VICE-PRESIDENT 

Nike Saw ley 

482-5061 

TREASLrEft 

Lois tom 

482-2222 

SECRETARY 

Jib toran 

523-4231 

TAPE LIBRARIAN 

Fiwik Kind 

638-6032 

ASSY LANGUAGE SI6 

Frank Daniel 

471-6133 

BASIC LAbBJAGE SI6 

Guy frrhrane 

502-5561 

BEBIWFRS SIS 

Richard Stiehl 

835-9857 

HISCELDWDUS SIS 

Phil Mitchell 

351-2208 

ATR8000 SIB 

Mike Salley 

482-5061 

L060 SIS 

Lois Hansen 

482-2222 

ACTIDi! SIS 

JU Warren 

7B2-7090 

ST SIB 

Bab Barton 

352-81 IB 

C SIS 

Dave Becfceeeytr 

658-5310 

BBS SIB 

Hike Saw ley 

482-5061 

PROGRAM CHAIRMAN 

Richard Scott 

867-8357 

PRINT LIBRARIAN 

Emar fadrade 

484-4484 

DISK LIBRARIAN 

Jaoes Ptran 

523-4231 

ST SCFTWRE CHAIRMAN: 

Hike Cuvy 

7H2-9148 

| 6 BIT SOFTWE CHAIRJO: 

Hark Pwrwz 

792-0396 


Cliff Schenk txuzen'537 -5245 

kET SYSTEM BKi 1415) 352-H2B 
Official 9-BIT BBS of the SLCC 
SYSLP: Nike Swley 
TIC VILLAS BKi 1415) 783-5545 
Official 16-BIT HE of the SLCC 
SY9Pl Nike Curry 


5 THE 576K 130XE 

by Scott Potorsan 

7 TESTING EXTENDED MEMORY 

by Larry Cop*nhav*r 
S 8000S for Us* 1200 XL 

fra* RAH via HcDonnal 1 -DouqJ as 

8 -ACTION ! REVIEW 

by Nika S*wl*y, SLCC 
IO SLCC JOURNAL SURVEY 

12 DISKS OF THE MONTH 

13 THE BACK FENCE 

by Quinn 


OOPS! 

Law! Hiik'l article on -'Tbw. M Coluwn 
Atari* by Bike lellawtw, credited to 
Ike . Key Syitew, * com to SUX frow 
Biablo ACE. (MCE). JW- regret the 
oaisiion of credit to the fiat folki at 
MCE. 


CDIR E gtMBC MUSES 6 KNBLETTEB ETD4MEE 
SM LEAHSD COWTBt GLIB 
P. EL BOX 15E 
SAN LEANKD, CA N377-01S 



EirDi m ti roi r Ri ; m fAi l 


Thn imr group w > n t is a powerful fore* fad mainly by on* nource — 
Um sharing of information. 

Thor* aro many naans used to achiovs this goal in tho SLCC. Monthly nain 
a—tingi, Sits, thn Kay Systsn and Village BBSs, nunarous phone calls between 
~ t i -rit 1 - i ntarosts/probl ans , and the SLCC JOURNAL. 

Curing tha oonths ahead it will bo our goal toi 
•maintain tha standard of mu eel lance sat by Ron Seyoour and Tan Bonnett 
• during thnir years of producing this JOURNAL, 
achieve timely dal ivory of tha JOURNAL to tha nen b ership, 
radnsigre tha JOURNAL to aodern magazine appearance, 

•aa&ntain an. overall balance in our coverage of all Atari systens, 
ropriret tha vary bast of thosa articlas published by other club 

newsletters, 

and most importantly, to iaprove the ratio of SLCC-producad material 
published in the JOURNAL. 

This last i tea in tha list of goals is creciai to tha continued 
iaprove sent of SLCC’s standing anang Atari user groups. SLCC now has over 400 
active members, making it one of the largest Atari user groups in the world. 
Oar SJ SJS alone if larger than sen y clubs' total membership. This offers a 
potential wall spring of new Atari knowledge. He wish to tap that wellspring 
-at all-levels. 

Thorn is a teaptation anang new nenbers to sit quietly at the nonthly 
nesting, completely certain that they are the only parsons in tha raoa who arm 
not rip-roaring -heavy duty hackers able to create full-blown major progress 
(bog -free, of course) between dessert and the Cosby show. This reticence is 
-well understood by us, since we have shared it in our tine. It has, however, 
no basis in fact. 

- The 4 rasbent novice nay not have learned the "correct* way to achieve a 
■programming goal, and thus nay in innocence contrive a solution that aatches 
•or ■ outperforms thn textbook standard. This information should be shared. 

there is* not one member of the SLCC that doesn't have something of value 
to- contribute to the JOURNAL , mod thereby to the club. He will publish 
listings nf original programs, fragments of code which do something 
interesting or amusing, reviews of software or hardware, explorations of 
undocunented/poorly documented program capabilities, graphics screens, 
guest ions about Atari computing and hopefully their answers, and just about 
anything- else that interests the members. He will accept member contributions 
via U*m club’s BBSs, on-diskette, or by phone if necessary) but »e want your 
contributions- . He will also assume the task of helping to polish neaber 
s ubmission* into publishable articles. You don't have to baa hacker 
Hemi ngwa y, ■, you Orel y-oeed some ideas to share. 

- He do Mi wish to edit a "Reader’s Digest of Atari Computing" - we want 
-to produce thn- BLCC JOURNAL, end with your help sake it tha prenior source 
amo n g Atari u ner.. group -publications. 


Jerry Telfer 
(13GXE) 


Jin Hood 
(BOO It 5205T) 


hark Blua 
( 1040ST) 


PftNQERa QF NQN-9TAND ftRD MEMORY 

EXPANSIONS 
by B114" Wilb&rvaant-, QSS- 

Thi s technical note is being written because so eany of the eeeory expansion s eh ties ! set being touted 
in HOT compatible with a standard 130XE. if you i *pl eient the senary expansion per aost of these scheees, 
you will be eissing one ieportant feature of the 130IE: the ability to direct ANTIC to do its DM to either 
sain aeaory or the requested bank of aeaory. 

In a standard 130IE, clearing bit 5 to zero requests ANTIC to folios the bank snitching; setting bit 5 
to a one tells it to reaain in aain aeaory, no aatter ahat aeaory bank aas requested. 

This is an important feature! Hark Rose (also of OSS) and 1 sill take credit far being instrumental in the 
creation of this bit. 

Nhen Atari asked us to da DOS 2.5 and its RaeDisk, their prototype hardeare had ANTIC following bit 4 
along eith the CPU. The east obvious problee eith this is that you can’t use the extra banks for CPU 

purooses (e.g., RaeDisk) ehen ANTIC is doing its DM in the aeaory beteeen 14000 and I7FFF. The problee uis 
especially acute eith AtariNriter (the 1SK cartridge version), since its display aeaory is ALHAYS in this 
range. 

Actually, Nark and 1 found that if you are ONLY using the bank select seeory for a RaiDisk, this is not 
an onerous restriction. It siaply leans that you could only do pseudo-sector transfers during vertical 

blank. And, in fact, DOS 2.5 stilt has a flag in it which you cm POKE ■hich Kill tell it to only use 
extended aeaory during deferred vertical blank, 

Noa, there aas another hardaare solution, which h Motioned to Atari: siaply never alloa ANTIC to use 
extended aeaory. He discussed the tao options with Atari, and bath tney and we decided ae felt strongly 
that the capability of bank selecting ANTIC’S aeaory aas iaoortant. Thus the use of that Pit. 

So, if your 900IL hardaare and aorks aith the AtariNriter cartridge, then you oDviously adooted that 
second hardaare solution: don’t let ANTIC use extended aeaory. That is not a really terriole decision 
(especially if it is econoiicaily activated), but it does aean that it is possiole that soae future 130JE 
software Kill not run on your sodified aachine. (Actually, 1 already have at least one piece of softaare, 
written in ACTION 1 , which depends on the l30XE’s aethod. But it’s only an ultra-fast picture switching 

deiOf so it’s no big deal.) 

There is a aod to both the 1301E and SOOXL which aaintams the 130IE/ANTIC bank select capability. It 
was designed by Charles Andrews of Eugene, Oregon, and he showed a 320KE using this aod at CES in January 
(in Atari’s booth, as a courtesy to hn by Atari— though it does appear to be an no licit endorseient of his 
scheie). I believe his aethod uses an entirely separate port for controlling the beyond-l30I£ extensions 
(in the IDixi range, aaybe?). However, I devised a aethod of doing the saae thing using only PortB. The 

scheae is outlined in the fallowing paragraph. 

A *LE6Al 320IE: 

This aod depends on the fact that the diagnostic RON area is only used at powerup or by the self-test 
routines. At these tiaes, both ANTIC and the CPU are using only aain aeaory, so bits 4 and 5 of 4D3Q1 are 
both set to one. Thus we change the 'enable* of the diagnostics froa the logic equation 
diag_enaile - not_bit7 '■ 

to 

diag_enable = not.bit? and bit4 and bit5. 

Then the enable for the extended RAN hecoees RAN_enable - (not_bit4 or not_bit5) and we can now use 

bits & and 7 for bank sclectioa in the saee aanner that other scheaes use bits 6 and 5. Reason this works: 

even if Atari ever changes the sal f-di agnostics so that they check the extended RAH, they can't put that 
particular code in the RON which overlays P3Q00-I57FF, because that’s right in the eiddle of the RAN area 
they need to check! 


5 

; 576K Mod 

luscle for your 130XE 

by SCOTT PETERSON 
Copyright (C) 1986 

here we go again, this tiee 1 recommend 
you have some electronics experience if you 
wish to perform the upgrade. Some of the 
work is duplicated fro* the 320K upgrade so 
320XE owners will not have as each work to 
do. One otner point, Jimn in the 576K wode 
you MUST use some sort of BASIC cart, as you 
lose the internal BASIC, this is only in the 
576K node, in the 130XE mode internal BASIC 
will function normally. 

TOOLS fCEDED; To perfore this upgrade 
you need the following; Low wattage fine tip 
»n dering iron. Vacuum de-soldering tool 
(like Radio Shack PNS64-2098) . Some 30-gauge 
wi-e (Radio Shack PN427B-501). *2 Phillips 
h*?ad screwdriver. Heat-shrink tubing, 1/B 
in. diameter Also a pair of small 
needle-nose pliers and a small flat tip 
screwdriver are handy. 

PARTS NEEDED: 

. i 74LS15B 

Z2-Z17 41256 (150ns.) 

ZtB 74LS138 
" .9 7432 

fii-R2 33 Ohm 1/4 watt resistor. 

SI Micro— mini DPDT switch (like Radio 

S h ack PN4275-626) 

Remove the 130XE case and metal RF 
shield to get down to the mother board, 
(320XE users go to step two) . 

STEP Now de-solder and remove the 

eight RAM chips U26 thru U33 (MT4264). They 
are the row closest to the TV RF module (do 
NOT use solder wick, the circuit board of 
the 130XE has very weak runs and they will 
pull loose if not completely de-soldered) . 
Replace these with the 16 pin low profile 
sockets. Take a piece of wire approximately 
12 in. long and run a jumper from pin 1 of 
j each socket to the next. When you are done, 
the wire should be attached to pin 1 of each 
of the new sockets and you should have about 
6 inchs left over. Da this on the rear of 
the motherboard and then snake the wire thru 
the large hole near the RAM chips. 

Next, desolder and r emove U23(C014795) , 
and replace it with a 40 pin socket. Bend up 
pins 15 and 16 on U23 and insert it in the 
socket you just installed. Take ZK74LS158) 
and break off pins 5,6,7,9,10,11,12,13,14. 
Bend up the other pins on it except 5 and 


I 

16. Put this “piggy back" on top D 
U20 ( HD 1 4050) and solder pins B and 16 of Z; 
to pins 8 and 16 on U20. Now take a short 
jumper from pin 15 on Z1 to pin 8 of Z1 - 
Take a piece of wire about 4 in. lone 
solder one end to pin 30 on the chip market 
■C014B05" on the motherboard, and the other 
end to pin 1 on Zl. 

Next solder a wire to pin 15 (one of 
the two you bent out) of U23 and connect the 
other end to pin 2 on Zl. Solder a wire to 
pin 16 on U23 and connect the other end to 
pin 3 on Zl. Take R1 (33 Ohm) and trim the 
leads to about 1/4 in. Take the wire you 
connected to pin 1 of the RAM chip sockets 
and solder it to one end of Rl, solder the 
other end of Rl to pin 4 on Zl. 

STEP TWO: Slide the motherboard back 
into the bottom half of the plastic case (do 
not use the RF shield, you must be able to 
get at the motherboard), and attach the 
keyboard. It will rest above the motherboard 
without touching it. Test all 41256 RAM 
chips by putting one set of 6 in the sockets 
and using the handlers (or DOS's), and then 
the next. After testing all RAM chips remove 
them all from the sockets, and take 8 of j 
them and cut about half of pin 15 off of 
each one. Only the “fat" part of pin 15 
should be left. After doing this you have tp~ 
"piggy back" the 8 256K RAM chips with t) A, 
short pin 15 ‘s on top of the other 8 256K 
RAM chips. Now solder all the pins together 
on the stacked RAM chips except for pin 15. 

It should not be touching the other pin 15. 
Make sure you have them going pin 1 to 1, 
pin 2 to 2, etc. When you get done you will 
have 8 sets of Piggy backed 256K RAM chips. 
Now take a piece of wire about 16 in, long 
and run a jumper from pin 15 to the next one j 
on all the top 256k DRAM's, leaving about 1 
inch between each RAM chip. 

Put these stacked RAM chips into the B 
sockets you installed earlier. Take 
Z1B(74LS138) and bend up all the pins except 
8 and 16, cut the pins you bent up in half 
so only the fat part is left, and solder 
pins 6 and 16 to pins 8 and 16 of the other 
74LS138 right below the U23(C014795) . Take 
Z19 add bend up all pans except 7 and 14, 
once again cut all the pins you bent up in 
half and solder pins 7 and 14 to pins 7 and 
14 of the 74LS08 right below U23. Take the 
wire you jumpered earlier to pin 15 of Z10 
thru Z17 < the i^per row of 256K RAM chips) 
and go out 2 in. and cut the wire, n' 
install R2(33 Ohm) between this cut. Place - 
piece of heat tfirink tubing over Rl end make 
sure no wire is exposed and boat it with a j 
lighter . Take the other end of this wire and _ ' 


6 


connect it to Z IB pin 14. Find the two 33 
Ohm resistors just to the right of U28 (one 
nf the RAM chips you socketed). The upper 
ne of the two is Rill, desolder the right 
ieg of it end bend it up. Teke e piece of 
Mii'e end solder it to the lend where you 
just reeoved the leg of Rill. Connect the 
ot’ier end to Z1B pin 4. Trie beck the leg of 
Rill end solder e wire to it, slip a piece 
of heet shrink tube over it end heat it up. 

Now connect the other end to Z18 pin 
12. Take a short wire and run a jueper froa 
pins 1 end 16 of Z1B. Take another short 
wire and connect a jueper froa pins 3, 5, 
and B of Z18. Now connect a wire froa Z18 

pin 2 to Z19 pin 3. Find the wire you 

installed from U23 pin 15 to Z1 (74LS158) 
pin 2 end desolder it froa U23. Take it and 
reconnect it to Z19 pin 11. Ok, now pry U23 
(C014795) back out of the socket and bend up 
pin 11, plug it back in. Run a juaper froa 
pins 1 and 4 of Z19, anti another juaper froa 
pins 10 and 13 of Z19. Connect a wire froa 
U23 pin 11 to Z19 pin 1, and froa U23 pin 15 
to Z19 pin 13. Now connect a wire froa Z19 

pin 8 to the right side of the 3.3* Ohm 

resistor aarked R206 (located at the bottom 
right of U23). Connect a wire to Z19 pin 6 
md run it to pin 16 of U3 (D061618). Now 
comes the tricky part, drill a small hole 
(1/4 in. or so, depending or the switch 
size) at the rear right on the back of your 
130XE. Take the small DPDT switch (SI) and 
install it in the hole. Now connect it as 
shown (make sure the switch DOESN'T have a 
center off position); 

SI (rear) 

U23 U23 

pin 1 

Z19 

pins 5+9 


Note: where the wires cross in the 
aiddle, they are NOT connected. Make the 
connection froa the switch to 023 on the 
rear of the motherboard . Nell that's 
it'.thank God). Now re-as se able the computer, 
being careful not to break any wiring going 
to the switch. You should now have in one 
'twitch position a 1001 compatible 130XE, and 
in the other you have e 576K 130XE that does 
not have Antic memory enhance eode and also 
cannot use internal BASIC. In the 130XE mod* 
you gain 64* as bit 6 of the PIA can etiil 


pin 20 



be used. The following page list of the bit 
table and numbers to be used in location 
54017 (PORTS) . Once again, if you need, help 
call the Peanut Gallery BBS (4061-384-3906. 
If you want a sailer of all the upgrades I 
have, as well as a disk with handlers, 
source codes, etc. send a aoney order 
(please, no checks) for *10.00 to; Scott 
Peterson P.Q. Box 33 Ft.Ord, CA. 93941-0033. 
This includes the BOO 288* upgrade by 
D.G.Byrd, the 800XL/256K (C.Burchholz) , the 
130XE/320k upgrade and anything else I 
finish. Good luck, and have fun. Memory 
Control Register 54017 (D301) 

130XE in 576* eode. 

Bit 7 6 5 4 3 2 1 0 
DabCcdeR 

D=0 enable diag. ROM 
R-l enable OS ROM 
C=0 enable extended memory 
abcde- m e mory control bits. 


Bank* Control* (dec) Hex 


Bank 

0 - 

>129 

81 

Bank 

1 - 

>131 

83 

Bank 

2 - 

>133 

85 

Bank 

3 - 

>135 

B7 

Bank 

4 - 

>137 

89 

Bank 

5 - 

>139 

SB 

Bank 

6 - 

>141 

8D 

Bank 

7 - 

>143 

BF 

Bank 

B - 

>161 

At 

Bank 

9 - 

>163 

A3 

Bank 

10 

>165 

A5 

Bank 

11 

>167 

A7 

Bank 

12 

>169 

A9 

Bank 

13 

>171 

AB 

Bank 

14 

>173 

AD 

Bank 

15 

>175 

AF 

Bank 

16 

>!93 

Cl 

Bank 

17 

>195 

C3 

Bank 

18 

>197 

C5 

Bank 

19 

>199 

C7 

Bank 

20 

>201 

C9 

Bank 

21 

>203 

CB 

Bank 

22 

—>205 

CD 

Bank 

23 

>207 

CF 

Bank 

24 

>225 

El 

Bank 

25 

>227 

E3 

Bank 

26 

>229 

E5 

Bank 

27 

>231 

E7 

Bank 

28 

>233 

E9 

Bank 

29 

>235 

EB 

Bank 

30 

>237 

ED 

Bank 

31 

>239 

EF 


7 


Testing Extended Memory 

by Larry Copenhaver 

With the large number of 130XE computers exit there, and the increasing 
number of expanded BOO XL and 130XE computers, here’s a "down-and-di rty“ 
(written in BASIC) memory test. 

It will only check the EXTENDED RAM (the normal RAM can be checked with 
the built-in diagnostics). 

The method is very slow and simple. He just set all the bits to off 
(POKE it with zero). Then check to see that they are in fact all off. He 
then turn on al 1 bits (POKE it with 255) and check to see if they are all on. 
If any discrepancy is found we report that error and end the program. 

Of course the extra RAM in these machines is accessed by windows of 16K each 
and we must make visible to the computer these windows (or banks) as they are 
needed by PDKEing the appropriate value in PORTB (54017) . 

This little program was written on the night before the printing of this 
newsletter (KC-ACE) on the “prototype 11 320K 130XE. And used to check all 16 
banks of 16K each on this computer (it took about 3 hours to run). 

This was really just an interim program to help anyone that thinks they 
might have a RAM problem. Hatch for next month’s newsletter. I will have an 
assembly language version that will be much faster. 

(reprinted (roa Feb '86 KC-ACE newletter, Kansas) 


16 REH EXTENDED RAN TEST 
26 REH 

36 BEK BY LARRY COPENHAVER 
46 REM eeeeSMHHHHHHHHHHHW 
SI COSUB 1166 
54 POKE 82i 3: GRAPHICS 6 
M PRINT "WARNING” THIS KILL TAKE A LONG 
TIW" 

65 PRINT "(XT IS WITTEN IN BASIC, YOU K 
NOW" 

76 PRINT ; PRINT :FGR HAXT=1 TO 968:REXT 
KBIT 

71 P0RTB=S4Bi7:B6NKSTART=i6364 ; BANKEN0=3 
2767 i PBNrPEEJf (PORTB) 

74 REN ixxMKM i HnwiW M mm 

75 REN SEE THAT 4 BANKS ARE THERE 

76 REN HW I imN li mMH 

77 RE5T0RE LINE 

S6 FOR X=1 TO BANKCNT 
90 READ BANXVALUE 
. Ill POKE PORTB, BAMKVALUE 
116 POKE 6ANKSTART, X :NEXT X 
121 RESTORE LINE 
146 FOR X=1 TO BNKCRT 
,151 READ BANKV6LUE 
161 POKE PORTB, BANKVALUE 
176 CHECK=PEEK (BONK START) 
ill IF CHECK=X THEN PRINT "BANK ";X;" I 
THERE! !":G0T0 266 

196 PRINT "ERROR IN BANK "jXiPOKE PORTB. 

PMiEID 

2*6 NEXT X 

216 POKE PORTB, PtN 

226 REN niHHHmmi 

251 REN IBM TORN IFF ILL 6ZTS 

246 REH uimmimm 

254 RESTORE LIRE 

2*4 FM 1=1 Tl BMC NT 

IT* PRINT "TMNXM OFF ALL BITS IN MM 


";x 

288 READ BANKVALUE 

289 REN FILL IT KITH ZEROS 
296 POKE PORTB, 8ANKUALUE 
318 REM FILL IT KITH ZEROS 
311 FOR Y=BANKSTART TO BARKEND 
326 POKE Y,S 

331 REXT Y;NEHT X 

358 REN i HMXxxxiiixxmn i 

366 REN BOH CHECK ALL BITS 

378 REN Hmmninuii 

386 RESTORE LINE 

398 FOR X=1 TO BNKCNT 

461 PRINT "CHECKING ALL BITS IN BANK 

418 READ BANKVALUE 

428 POKE PORTB, BANK VALUE 

436 REN CHECK FOR ZEROS 

448 FOR Y=6ANKSTART TO BARKEND 

458 A=PEEK(Y):IF A=6 THEN GOTO 486 

471 PRINT "ERROR IN BANK "jXiPOKE PORTB, 

PM: END 

481 NEXT Y 

491 PRINT "NO ERRORS SO FAR IN BANK »;X 

581 NEXT X 

518 POKE PORTB, PBN 

528 REH im»mnun 

53i REN I0H TURN ON ALL BITS 

548 REN nnumiim 

551 RESTORE LINE 

566 FOR X=1 TO BNKCNT 

571 PRINT "TURNING 6N ALL BITS IN BAM - 

il 

566 BEAD BAM VALUE 
5 SB REN FXU IT tffTI BKS 

*M POKE PORTB, BAMVALUE 
611 FM Y-BAMSTAKT T» BAM CM 
621 POKE V,255 
636 BUT Y; NUT K 


666 REN ROW CHECK ALL BITS 
67B REN »lH HHHUU> i mui» 

688 RESTORE LINE 

696 FOR X=1 TO MKCNT 

718 PRINT “CHECKING ALL BITS IN BANKT X 

718 READ VANKVALUE 4^ 

726 POKE PORTB, BANKVALUE 

736 REH CHECK FOR ORES 

746 FOR Y=BANKSTART TO BANKENO 

756 A=PEEX(Y> 

766 IF 6=255 THEN GOTO 4B8 

771 PRINT "ERROR IN BONK “JK:PQKE PORTB, 

PBN: END 

78B NEXT Y 

791 PRINT "NO ERRORS SO FAR IN BANK "iX: 
NEXT X 

BIB POKE PORTB, PEN 

B2B PRUT : PRINT "RLL PASSED M ! 11 : END 

96B DATA 129,133,137,141 

916 DATA 129,133,137,141,161,165,169,173 

,193,197,261,265,225,229,233,237 

926 DATA 129,133,137,141,193,197,211,285 

,225,229,233,237 

938 DATA 161, 165, 169, 173, 193,197, 2D1.265 

,225,229,233,237 

1*66 GRAPHICS 6 

1616 ? :? :? "WICH CO MUTER IS THIS?” 
1621 POKE 12,6:? 

1030 ? *1. 138X6(51 ANDARD) " 

1046 ? "2. 136RE (3260" 

1651 ? -3. BOBILUCiCU VERSION)" 

1060 • *4 . 606KLUCACE VERSION)" 

1671 TUP 1606: INPUT ANSWER 

IBM M AISM5R GOTO 11M,1200,13M,L 

1090 G6TI 1000 

UN LnC=900:IKCIT=4:irrMfl 
1200 LHE=910:IWCST=16:KTMN 

1IM LINE =926 : BNKCNT =12 : RETURN 
14M LZK=9I6:BMCfT=12 :KTIM 


8 



Source* RAH, S*tM few 1985 
Reprinted fro* ATARI SIR, M» RCC 


12QO XL to 800 06 - 

Bu— d out with th* hassles built ihto' 
the. 1200 XL 037' Kant bum your tr^islator 
disks, but can't shell out the *80 for- BOSS 
XL? ‘ Follow these siaple instructions to 
replace the nasty 1200 XL OS with the nice 
old 400/800 OS for *16.50 or less! 

1. Pull the Rev. B Roes out of the 
eatherboard of a 400 or f roe the 10K ROM of 
an BOO. Hake sure the chips function 
properly. 

'2. If you can't find a set of ROMs, 
order thee f roe Aeercian TV 15338 Inverness 
St., San Leandro, CA 94579, 415-352-3787. 

3. At this point you should have three 
chips, marked C012399B, C012499B, and 
C014599B. 

4. Place the C014599B piggyback on the 
C012499B with the notched ends facing the 
saee direction. Solder pin 1 to pin 1, pin 
2 to pin 2, etc., for all 24 pins. 

5. Open the 1200 XL using a small 
Phillips-head driver on the screws and a 
needlenose pliers to pull the pap rivets 
holding the ' RF shield together. This step 
is completely nondestructive. There is 
nothing to cut, unsolder, or eutilate. 

6. Locate the two 24-pin ROM chips on 
the 1200 XL board near the cartridge slot. 
Notice they are narked U12 and U13 in white 
letters on the board. Also pay attention to 
which way the notched ends of the chips are 
facing. 

7. Renove these ROM chips and insert 
the chip narked C012399B into U12 and the 
piggybacked chips into U13. 

8. Test the board before putting the 
1200 back together. 

You now have an 800 with a 1200 
keyboard. This nodi ficat ion was created by 
Brent Borghese of A.C.E. of Columbus Ohio. 



Mike Sawley 


ACTION! LANGUAGE REVIEW • ' 

The Action! Language by Optinized 
Systems Software is a nan-portable language 
that generates very fast object code- for the 
Atari 900 and 800XL howe coeputers. It is 
the fastest high level language available 
for these machines in both compilation and 
execution speed. It runs 100 tinms faster 
than Atari BASIC and executes more than 
twice as fast as Kyan Pascal. 

Compilation timm in Action! compared to 
Kyan Pascal is many times faster for several 
reasons. The Pascal compiler is large and 
requires a relatively long load time wherein 
Action! is already present on a ROM 
cartridge. Pascal makes type checks on 99X 
of the variable names and type declarations 
while Action 1 guarantees type compatibility 
among its standard predefined types; no 
further type checking is done. Kyan Pascal 
uses a two pass compiler and Action* Home i* 
in one. The design of the Action! system 
allows both coa*»ilation from memory to 
memory, memory to disk, and disk to memory 
while Kyan Pascal compiles from disk to disk 
only because of the large size of the 
compiler. Action! even allows two different 
source codes (programs or subroutines) to 
reside in memory and can compile and run 
either from the monitor without building 
entire programs around them. 

...continumd an nest page 


9 


Many o-f the features of the proeinent 

high level languages are found in Action! 
such as block structure, parameter passing, 
IF-ThEN-ELSE nesting, record declaration, 
and all of the high level loop constructs 
(no 6GT0 available!). Benerally, if the 
feature contributed to the concept of 
structured prograeeing while not slowing the 
execution of the abject code (could be 
iepl e e e n ted with a einieua of output code) - 
the feature was put in. Other features oust 
be defined if they are required. It has 
been said that the construction of the 
Action! Language was explicitly designed to 
optimise 6502 instruction set and that is 
the reason for its fast execution speed. 
And the object code generated by Action! 
reads like that of a 6502 asseably language 
prograneer (without the coaeents, of 
course! ) . 

One th ing that I found very 
discouraging was that recursion does not 
return popped values. Parameters are 
overwritten if called by the same 
subroutine. This is because a block of 
memory is used explicitly for variables and 
the names of the callers. The one pass 
compilation is another factor in this 

limitation. Recursion can be simulated, so 
1 am told, and 1 am looking for a 

demonstration of this useful technique. 
Action! uses only the 256 byte hardware 
stack provided for the 6502 microprocessor 
to save return addresses from procedure and 
function calls during the run. While this 
is a factor in reducing the speed of 

execution, some of the utility of the 

language has been compromised. 

The standard types supported are: BYTE 
(9-bit), CARD (16-bit used as addresses or 
large positive values), I NT (-32768 - 

32767), CHAR (256 characters in the set), 
and POINTER (for passing by reference etc.). 
Any coercions desired can be made between 
•ny of these standard types even though the 
lengths vary between 8 and 16 bits. FLOAT 

is an option which is not included in the 

basic language but can be added at extra 

cost. This means that division truncates 
the decimal part. ARRAY is a standard 
structure and always numbers from 0 to n-1. 
It can contain any of the standard types. A 
special TYPE declaration can be made to 
declare records of standard types. : But 
arrays of ‘records must be implemented using 
A template which is moved over a larger 
mrray calculated in advance by eul tip lying 
the record size (in bytes) times the number 
of records. In this case, aliasing is a 
necessary evil. Dynaeic Array length 


declaration eay not be done, but array 
bounds are not checked during execution. In 
f*ct, array length need not be specified 
all. However, the user oust insure tt 
data does not collide with the program *. 
this option is used. 

Assigneent in the type declaration is 
allowed. H o w ever, if the value is not 
enclosed in square brackets, the assigneent 
is assumed to be a binding of an address to 
the variable naee itself. Also, arrays may 
be bound to any feasible starting address by 
the programmer by the same technique. Since 
overflow is not checked, any values 
assigneent during compilation or execution 
will be eade eodulo 256 or 65536 depending 
on the type of the variable being assigned 
to. 

Overloading of operators is generally 
not done, but Action! has some other strange 
peculiarities. There are some operations 
which have more than one syebol to mean the 
same thing! “Not equal" can be represented 
by either <> or t. “and" can be either AND 
or It. “Or" either OR or X. "Exclusive-or" 
either XOR or !. And BYTE is a CHAR is a 
BYTE? All of this interchangeability is 
logical but strange when the size of the 
language was originally lieited because ryf 
speed considerations. 

Procedures and functions that return 
values are an important part of the 
language. Their fore is somewhat similar to 
Pascal except that nesting of them is not 
allowed. Any subroutine call ing another 
oust call above due to the one pass 
restriction. The reserved word RETURN is 
used at the bottom of procedures and 
functions to indicate their termination. A 
missing RETURN is not a compiler error. The 
BE5IN, END, and semicolon are not used as 
delimiters. Instead, an EOLN separates each 
line logically. The semicolon is used as in 
assembly language to indicate that a comm e nt 
follows. 

Eight parameters maximum may be passed 
to a subroutine. This is a violation of the 
“Zero-One-Infinity Rule," but microcomputers 
do have limitations. Also, there is a 
restriction to not use channel 7 for 
input-output as that is reserved for the 
keyboard only by the Action! system. 

Over all, the language is designed for 
the use of experienced prograemers who need 
the the flexibility to manipulate t* 
operating system and the ability to wci 
fast, ree d Able code. Then, the full 

capability of real-time graphics on the 
Atari B-bit machine can be realized. 


r 


12 


S-bM 

flr« jiHi Waafe 

tftrt :1WEU 

Site t* 


Disk of the Month 

June 86 DOK *1 






DUO? »?• Well,, not entirely. 

Contrary ta ptyulv Miff, Disk 
Construct ion Set 1 ' wi II nn 
Atari-' Biftnnarf All-purpose- ■' 
Instruction Cade»* v < BASIC to you.jnd ■>>! 
Hut dons this, ail aeaa to y*& TMSi - 

1 DIM SlS(60> l S2*(601,Ct*(601 1 C2t(60t l Tr<60 
),H*(31 ' 

20 GCSU8 370 

276 GRAPHICS OtPOKE 710,0 


Type. in the above lines^aftdt r tha 
program has loaded and save it baclr to' 
disk. It Hilt non run tilth normal BASIC. 

Mo« that we foi led that' sorry 
for a Coaaunist tika-ws r and Mark 
has just figured out taut, wa hava 
talking about, lat*s gat doun to business. 

Spanning- thm globs. t» bring you tha 
itast in pt^lic donain Hftiuri, tha 
Dynamic Duo presents^ tha ,,July 1986 
disk-of-the-eonth. ; Ah- usual this disk is 
nothing short of spactacular. A veritable 
smorgasbord of quality software. ,, But alas, 
for security reasons, wa can only aantitpi a 
fas of these progri 


BINARY FILE TITLER - 
written by tha. inf 


This program 
Keith Ledbetter, 
and it dll 


author of "830 Express' 
display a standard AT ASCII text file bdfc 
Tinning a binary file. 

PAINTSHOP REFERENCE CARO MAKER - This 
prograa will' taka a standard , PRIMT9M0P~ 
picture disk and print out the ptttura* in 
an easy~t o-reatf ref df"snce card format. 
EASY-CARO DATABASE - A* original by. tha 
Dynamic Duo. This database is a simulation 
of tha popular ROLODEX file system. . 


and aany others, including a 

for aitandad-RAH 130 XE* and « 
graphics and sound dsaos. . 

Note* tha above charactws described in the 
sbovn r article are purely fictional.. - (biy 
sinUaritiaa be n*y pap wai, glivst or dead, 
pa*» pr i s ed „a».i ♦*&*■*- i# ■ purely j 
cainei dental. ~ TWf newel at tae gt» saM: 
doatruct in five s e c onds. 


Zooaracks Dmo Disk 

(8606A) 

BETST1.ZRX 

GETST2. ZRX 

GETST3. ZRX 

MACAUTD. ZRX 

QAPPLICT. ZRX 

QAPT. ZRX 

QOECK. ZRX 

QDEMO. ZRX 

QINVNTRY, ZRX 

qletters.zrx 

QNMES. ZRX 

QNOTES. ZRX 

QPLETTER. ZRX 

QPROJEC.ZRX 

QRECIPE. ZRX 

QSALES. ZRX - 

QSCHOOL.ZRX 

QTICKLER, ZRX 

ZR. DAT 

ZR.HLP 

ZRDEMO. IMG 

ZRDEM0.PR6! ' 

ZRDEM012.386X 


June 86 DOM *2 


- — Micro Eaacs 3*6 Source Code — (06068) 

IKBDI.DOC 

IKBD2.DOC 

LIST.DOC 

LIST. TTP! 

MEMTEST.IIE 

MODEM7.DOC 

M0DEM7.T0S! 

MOUSE. PR6! 

PICSWITC. PRG 

PSNITCH.DOC 

SPOOL 33K.PRG 


A:\STMAKE: 



CTYPE.H 

MAKE. C 

MAKE. DOC 

MAKE. PRG! 

MAKFILE 

MAKFILE2 

MSTRIN6.C 

MSTRING.H 

• 

A:\UEMACS.36: 



BASIC. C 

BUFFER. C 

C.BAT!' 

CINFQ.C 

DEF.H 

DISPLAY. C 

ECHO.C 

EXTEND. C 

FILE.C 

FILEIO.C 

GETN.S 

KBD.C ’ 

LINE. C 

MAIN. C 

RANDOM. C 

REGION. C 

SEARCH. C 

SPAWN. C 

SYMBOL. C 

SYSDEF.H 

TTY.C 

TTYDEF.H 

TTYIO.C 

TTYKBD.L 

VERSION. C 

WINDOW. C 

WORD. C 

XEMACS.BAT! 

XEMACS. INP 


June 86 DOM »3 


_ ponCC Hiei/ 

— / OjtnjLT’ \ 

— rKUrr U15K 

V OuvOL / 

CART PORT. INF 

HELPER. PR6! 

SPOOL. ACC 

A:\PROFF.SRCi 



DEBUG. H 

DECL.H 

DEFS.H 

DQSTUFF2.C 

EMACS.TTP! 

EVAL.C 

LOOK. C 

LOOKUP. C 

LOOKUP. H 

LTB.C 

MAKE. SH! 

rv^.c 

PINIT.C 

PROFF.C 

PROFF.H 

PROFF.PRG! 

PROFFOl.C 

PR0FF02.C 

PROFFMAN. OUT 

PROFFMAN. PRF 

PROFFSYM. NEW 

PUTWRD.C 

PXLEX.C 

PXXPARSE.C 

STACK. C 



June 86 DOM M 



f ; Ik Hi kL> ■ ■ , - 

_ / oiAAn ) 


XI IS UHk 

\ OOvQU / * 

At XGOODIESt 



CONVFONT.PRS 

DIBIT. PRG* 

DISKED.DOC 

DISKED. TOS! 

DVORAK. TOS! 

fttC.TOS! 

MACPIC. IDS! 

MEJTTEST.C 

MEHTEST.TOS! 

M0N02MED.PR8 

NEOCONV.PRS! 

POPCORN. PRG! 

QWERTY. TOG! 

RMD158K. ACC 

RMD20QK. ACC 

ROMTOS2. STN 

RTC12.DOC 

RTC12.T0S! - 

SEEKTST. TOS ! 

SUPERCAL.ACC 

TINY TOOL. ACC 


The Back Fence 


by Quinn 



Thi» is a nm w column in ths JOURNAL conctrntd with ths ST 
snd all ths various eoir>«s-on around it. As ths abovs titls 
su^ssts (rathsr broadly) , such of ths contsnt will bs ths 
kdiispsrs and- speculation, oi sors-or-lsss knowlsdgabls psopls 
invol vsd' with ths STf ths cosputsr itsslf, softwars, psriphsrals, 
politics and whatnot. A lot oi whatnot. 


There are two pneary criteria for the 
column: it must be informative, and it must 

be fun. If there cones a conflict between 
the two, fun will win. 

There are soie ground rules I will 
follow. I will not lie. I will not 
misrepresent . I will not indulse in petty, 
malicious, maleficent misinformation (even 
for fun). 

This will be a place for good, honest 
gossip without all of the tedious 
confirmation, second-source attribution and 
qualification that gets in the way of 
reporting the neat stuff. Like E said, 
fun. 

If you get wind of something, let me 
know about it. Sources will be held in 
confidence unless you tell me otherwise. 
Bet in touch with me by leaving private mail 
(for Quinn) on The Village BBS 
(415-783-5545) or sending hard mail to me 
care of The JOURNAL. Now on with it, 

. The big items drawing a respectable 
amount of speculation these days are the 
in-process upscale model of the ST and the 
MS-DOS expansion box. Word of the latter 
(the MS-DOS box) is shifty. There was some 
loose talk (even from out of The- 
Mouse-That-Jack-Bui It, AKA Atari) that the 
box would have expansion slots to accept 
standard PC Boards as well as the 8086 CPU 
and 8087 math coprocessor and a 5 1/4 inch 
drive. Now word is that there will be no 
expansion slots, and no drive and perhaps no 
provision for adding a drive from the 
coprocessor board. Not only, does that 
severely limit the usefulness of the box, 
but it also uses up the DMA port which is 
also needed for a hard disk. Maybe we can 
lobby for at least one expansion slot that 
would take a card with a couple of extra DMA 
ports. How 'bout it Atari? 

^Regarding the new high-end 32 bit 
machine (the one that got some marly ink in 
Byte Magazine last spring) speculation is 
now more speculative and so more grandiose. 


Talk is of either a 68020 (16 bit) or 32032 
<32 bit) CPU chip with most votes going for 
the 68020. What areally* gets fun is the 
talk about two (count 'em, two) 20 Megabyte 
harddrives built in, the better to support a 
full UNIX* (trade mark of AT&T Bell Labs) 
System V implement at ion. That, a Meg or two 
of memory with expansion capability, a 1024 
x 1024 pixel monitor and all for under (that 
is *under*> $2,000. If Jack can pull that 
off, 1 invite him over to walk across my 
swimming pool ! 

More realistically, we might be able to 
expect a similar box with one drive for 
under $3,000 by about the middle of next 
ypar. That's still a reasonably high-powered 
UNIX* (see above) workstation at a 
remarkable price. Hope they can make it. 

I think that's about it for this time. 
The above material is not necessarily the 
opinion of the SLCC JOURNAL, SLCC, or wy 
other organization or person men tier i 
herein. (May not wen be my opinion, j 
knows?) Drop me a line on the Village with 
idiat you know or shat you want to know. And 
Til see you at the ST-SIB.